import uvm_pkg::*;
`include "uvm_macros.svh"

class tc_reg_sanity extends tc_base;
	`uvm_component_utils(tc_reg_sanity)
	
	function new(string name, uvm_component parent);
		super.new(name,parent);
		`uvm_info("tc_sanity new_phase",$sformatf("%m"),UVM_HIGH);
		
	endfunction: new
	
	virtual task main_phase(uvm_phase phase);
		mpi_sanity_sequence seq;
		seq = mpi_sanity_sequence::type_id::create("seq",this);
		seq.reg_model = env.dtp_reg_model;
		
		super.main_phase(phase);
		phase.raise_objection(this);
		seq.start(env.mpi_if_agent.seqr);
		
		phase.drop_objection(this);
		`uvm_info(get_type_name(),"main_phase()：main_phase finished",UVM_HIGH);
		
	
	endtask: main_phase

endclass: tc_reg_sanity
